package com.jshop.common.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static java.util.regex.Pattern.*;

/**
 * @author jon
 * @date 2019/7/6 16:16
 */
public class PhoneUtils {
    /**
     * 先我们要搞清楚现在已经开放了多少个号码段，国家号码段分配如下：
     * 移动：134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
     * 联通：130、131、132、152、155、156、185、186
     * 电信：133、153、180、189、（1349卫通）
     */

    /**
     * 通用判断
     * @param telNum
     * @return
     */
    public static boolean isMobiPhoneNum(String telNum){
        String regex = "^((13[0-9])|(16[0-9])|(17[0-9])|(19[0-9])|(15[0-9])|(18[0-9]))\\d{8}$";
        Pattern p = compile(regex, CASE_INSENSITIVE);
        Matcher m = p.matcher(telNum);
        return m.matches();
    }

    /**
     * 更严格的判断
     * @return
     */
    public static boolean isMobileNum(String telNum){
        Pattern p = compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
        Matcher m = p.matcher(telNum);
        return m.matches();
    }

}
